data load
library(dplyr)
library(data.table)
library(ggplot2)
library(ggmap)
library(RColorBrewer)
library(leaflet)
library(scales)
library(plotly)
powerplants=read.csv('global_power_plant_database.csv')
#powerplantsWithYearData = powerplants %>% group_by(country_long) %>% summarise(proportionWithData = 1 - mean(is.na(commissioning_year))) %>% filter(proportionWithData > .8)
powerplants = powerplants %>% filter(country_long %in% powerplantsWithYearData$country_long)
powerplants[is.na(powerplants)] = 0
powerplantsUSA = powerplants %>% filter(country_long == "United States of America")
Data prep
powerplantsUSAFuel = powerplantsUSA %>% group_by(primary_fuel)
powerplantsUSAFuelYear = powerplantsUSAFuel %>% summarise(energy2013 = 0.5* (sum(generation_gwh_2013) + sum(estimated_generation_gwh_2013)),
energy2014 = 0.5* (sum(generation_gwh_2014) + sum(estimated_generation_gwh_2014)),
energy2015 = 0.5* (sum(generation_gwh_2015) + sum(estimated_generation_gwh_2015)),
energy2016 = 0.5* (sum(generation_gwh_2016) + sum(estimated_generation_gwh_2016)),
energy2017 = 0.5* (sum(generation_gwh_2017) + sum(estimated_generation_gwh_2017)),
)
powerplantsUSAFuelYearDF = as.data.frame(powerplantsUSAFuelYear)
powerplantsUSAFuelYearLabeled = powerplantsUSAFuelYearDF[,-1]
row.names(powerplantsUSAFuelYearLabeled) = powerplantsUSAFuelYearDF[,1]
transposePowerplantsUSAFuelYear = transpose(powerplantsUSAFuelYearLabeled)
colnames(transposePowerplantsUSAFuelYear) = powerplantsUSAFuelYearDF[,1]
transposePowerplantsUSAFuelYear$Year = c(2013,2014,2015,2016,2017)
totalEnergy = powerplantsUSAFuelYear %>% mutate(total = energy2013+ energy2014 +energy2015 + energy2016 + energy2017)
map
leaflet(powerplants %>% filter(primary_fuel == "Wind")) %>% addTiles() %>% addMarkers(~longitude,~latitude,popup= ~primary_fuel,label= ~name)
Total energy bar chart

energy produced
ggplotly(lineplot)
Warning in is.na(ticktext) :
is.na() applied to non-(list or vector) of type 'expression'
number of plants by type

LS0tCnRpdGxlOiAiUiBOb3RlYm9vayIKb3V0cHV0OiBodG1sX25vdGVib29rCi0tLQpkYXRhIGxvYWQKYGBge3J9CmxpYnJhcnkoZHBseXIpCmxpYnJhcnkoZGF0YS50YWJsZSkKbGlicmFyeShnZ3Bsb3QyKQpsaWJyYXJ5KGdnbWFwKQpsaWJyYXJ5KFJDb2xvckJyZXdlcikKbGlicmFyeShsZWFmbGV0KQpsaWJyYXJ5KHNjYWxlcykKbGlicmFyeShwbG90bHkpCgpwb3dlcnBsYW50cz1yZWFkLmNzdignZ2xvYmFsX3Bvd2VyX3BsYW50X2RhdGFiYXNlLmNzdicpCgojcG93ZXJwbGFudHNXaXRoWWVhckRhdGEgPSBwb3dlcnBsYW50cyAlPiUgZ3JvdXBfYnkoY291bnRyeV9sb25nKSAlPiUgc3VtbWFyaXNlKHByb3BvcnRpb25XaXRoRGF0YSA9IDEgLSBtZWFuKGlzLm5hKGNvbW1pc3Npb25pbmdfeWVhcikpKSAlPiUgZmlsdGVyKHByb3BvcnRpb25XaXRoRGF0YSA+IC44KQoKcG93ZXJwbGFudHMgPSBwb3dlcnBsYW50cyAlPiUgZmlsdGVyKGNvdW50cnlfbG9uZyAlaW4lIHBvd2VycGxhbnRzV2l0aFllYXJEYXRhJGNvdW50cnlfbG9uZykKCnBvd2VycGxhbnRzW2lzLm5hKHBvd2VycGxhbnRzKV0gPSAwCnBvd2VycGxhbnRzVVNBID0gcG93ZXJwbGFudHMgJT4lIGZpbHRlcihjb3VudHJ5X2xvbmcgPT0gIlVuaXRlZCBTdGF0ZXMgb2YgQW1lcmljYSIpCmBgYApEYXRhIHByZXAKYGBge3J9CnBvd2VycGxhbnRzVVNBRnVlbCA9IHBvd2VycGxhbnRzVVNBICU+JSBncm91cF9ieShwcmltYXJ5X2Z1ZWwpIAoKcG93ZXJwbGFudHNVU0FGdWVsWWVhciA9IHBvd2VycGxhbnRzVVNBRnVlbCAlPiUgc3VtbWFyaXNlKGVuZXJneTIwMTMgPSAwLjUqIChzdW0oZ2VuZXJhdGlvbl9nd2hfMjAxMykgKyBzdW0oZXN0aW1hdGVkX2dlbmVyYXRpb25fZ3doXzIwMTMpKSwKICAgICAgICAgIGVuZXJneTIwMTQgPSAwLjUqIChzdW0oZ2VuZXJhdGlvbl9nd2hfMjAxNCkgKyBzdW0oZXN0aW1hdGVkX2dlbmVyYXRpb25fZ3doXzIwMTQpKSwKICAgICAgICAgIGVuZXJneTIwMTUgPSAwLjUqIChzdW0oZ2VuZXJhdGlvbl9nd2hfMjAxNSkgKyBzdW0oZXN0aW1hdGVkX2dlbmVyYXRpb25fZ3doXzIwMTUpKSwKICAgICAgICAgIGVuZXJneTIwMTYgPSAwLjUqIChzdW0oZ2VuZXJhdGlvbl9nd2hfMjAxNikgKyBzdW0oZXN0aW1hdGVkX2dlbmVyYXRpb25fZ3doXzIwMTYpKSwKICAgICAgICAgIGVuZXJneTIwMTcgPSAwLjUqIChzdW0oZ2VuZXJhdGlvbl9nd2hfMjAxNykgKyBzdW0oZXN0aW1hdGVkX2dlbmVyYXRpb25fZ3doXzIwMTcpKSwKICAgICAgICAgICkKCnBvd2VycGxhbnRzVVNBRnVlbFllYXJERiA9IGFzLmRhdGEuZnJhbWUocG93ZXJwbGFudHNVU0FGdWVsWWVhcikKcG93ZXJwbGFudHNVU0FGdWVsWWVhckxhYmVsZWQgPSBwb3dlcnBsYW50c1VTQUZ1ZWxZZWFyREZbLC0xXQpyb3cubmFtZXMocG93ZXJwbGFudHNVU0FGdWVsWWVhckxhYmVsZWQpID0gcG93ZXJwbGFudHNVU0FGdWVsWWVhckRGWywxXQp0cmFuc3Bvc2VQb3dlcnBsYW50c1VTQUZ1ZWxZZWFyID0gdHJhbnNwb3NlKHBvd2VycGxhbnRzVVNBRnVlbFllYXJMYWJlbGVkKQpjb2xuYW1lcyh0cmFuc3Bvc2VQb3dlcnBsYW50c1VTQUZ1ZWxZZWFyKSA9IHBvd2VycGxhbnRzVVNBRnVlbFllYXJERlssMV0KdHJhbnNwb3NlUG93ZXJwbGFudHNVU0FGdWVsWWVhciRZZWFyID0gYygyMDEzLDIwMTQsMjAxNSwyMDE2LDIwMTcpCgoKdG90YWxFbmVyZ3kgPSBwb3dlcnBsYW50c1VTQUZ1ZWxZZWFyICU+JSBtdXRhdGUodG90YWwgPSBlbmVyZ3kyMDEzKyBlbmVyZ3kyMDE0ICtlbmVyZ3kyMDE1ICsgZW5lcmd5MjAxNiArIGVuZXJneTIwMTcpCgpgYGAKCm1hcApgYGB7cn0KbGVhZmxldChwb3dlcnBsYW50cyAlPiUgZmlsdGVyKHByaW1hcnlfZnVlbCA9PSAiV2luZCIpKSAlPiUgYWRkVGlsZXMoKSAlPiUgYWRkTWFya2Vycyh+bG9uZ2l0dWRlLH5sYXRpdHVkZSxwb3B1cD0gfnByaW1hcnlfZnVlbCxsYWJlbD0gfm5hbWUpCmBgYAoKVG90YWwgZW5lcmd5IGJhciBjaGFydApgYGB7cn0KdG90YWxFbmVyZ3lDaGFydD1nZ3Bsb3QodG90YWxFbmVyZ3ksYWVzKHg9cmVvcmRlcihwcmltYXJ5X2Z1ZWwsdG90YWwpLHk9dG90YWwsZmlsbD1wcmltYXJ5X2Z1ZWwpKSArIGdlb21fYmFyKHN0YXQ9ImlkZW50aXR5IikgKyBjb29yZF9mbGlwKCkgKyBzY2FsZV95X2NvbnRpbnVvdXModHJhbnM9ICdsb2cxMCcsIGxhYmVscyA9IHRyYW5zX2Zvcm1hdCgnbG9nMTAnLG1hdGhfZm9ybWF0KDEwXi54KSkpICsgdGhlbWUoYXhpcy50ZXh0LnggPSBlbGVtZW50X3RleHQoYW5nbGU9OTApKSArIHlsYWIoIkVuZXJneSBBY2N1bXVsYXRlZCBNV0giKSArIHhsYWIoIlByaW1hcnkgRnVlbCIpCnRvdGFsRW5lcmd5Q2hhcnQKYGBgCgplbmVyZ3kgcHJvZHVjZWQKYGBge3J9CgpkYXRhX2xvbmcgPSBtZWx0KHRyYW5zcG9zZVBvd2VycGxhbnRzVVNBRnVlbFllYXIsIGlkPSJZZWFyIikKY29sbmFtZXMoZGF0YV9sb25nKSA9IGMoIlllYXIiLCJwcmltYXJ5X2Z1ZWwiLCJlbmVyZ3kiKQoKbGluZXBsb3QgPSBnZ3Bsb3QoZGF0YV9sb25nLCBhZXMoeD1ZZWFyLHk9ZW5lcmd5LCBjb2xvcj0gcHJpbWFyeV9mdWVsKSkgKyB5bGFiKCJFbmVyZ3kgUHJvZHVjZWQgTVdIIikgKyB4bGFiKCJZZWFyIikgKyBnZW9tX2xpbmUoKSArIHNjYWxlX3lfY29udGludW91cyh0cmFucz0gJ2xvZzEwJywgbGFiZWxzID0gdHJhbnNfZm9ybWF0KCdsb2cxMCcsbWF0aF9mb3JtYXQoMTBeLngpKSkKCmdncGxvdGx5KGxpbmVwbG90KQpgYGAKCm51bWJlciBvZiBwbGFudHMgYnkgdHlwZQpgYGB7cn0KbnVtYmVyT2ZQbGFudHMgPSBwb3dlcnBsYW50c1VTQUZ1ZWwgJT4lIHN1bW1hcml6ZShudW1iZXIgPSBuKCkpCmdncGxvdChudW1iZXJPZlBsYW50cyxhZXMoeD1yZW9yZGVyKHByaW1hcnlfZnVlbCxudW1iZXIpLCB5PW51bWJlcixmaWxsPXByaW1hcnlfZnVlbCkpICsgZ2VvbV9iYXIoc3RhdD0iaWRlbnRpdHkiKSArIHRoZW1lKGF4aXMudGV4dC54ID0gZWxlbWVudF90ZXh0KGFuZ2xlPTkwKSkgKyBjb29yZF9mbGlwKCkgKyBzY2FsZV95X2NvbnRpbnVvdXModHJhbnM9ICdsb2cxMCcsIGxhYmVscyA9IHRyYW5zX2Zvcm1hdCgnbG9nMTAnLG1hdGhfZm9ybWF0KDEwXi54KSkpICsgeGxhYigiUHJpbWFyeSBGdWVsIikgKyB5bGFiKCJOdW1iZXIgb2YgUGxhbnRzIikKYGBgCgpgYGB7cn0KCmBgYA==